/*
 * io.c
 *
 *  Created on: Sep 19, 2013
 *      Author: Ken Arok
 */

#include "uart_io.h"


void vIO_Init(void)
{
	/* Initialize UART. */
	uart_io_init();

}


uint8_t vIO_Ctrl(io_port_t ioPort, io_request_code_t reqCode, void *pValue)
{
	uint8_t _retError = pdFAIL;

	switch(ioPort) {
		case IOP_COM1:
		case IOP_COM2:
			_retError = uart_io_ctrl(ioPort, reqCode, pValue);
		break;

		default: break;
	}

	return _retError;
}


uint8_t vIO_Open(io_port_t ioPort, const uint8_t ioFlag)
{
	uint8_t _retError = pdFAIL;

	switch(ioPort) {
		case IOP_COM1:
		case IOP_COM2:
			_retError = uart_io_open(ioPort, ioFlag);
		break;

		default: break;
	}

	return _retError;
}


uint8_t vIO_Close(io_port_t ioPort)
{
	uint8_t _retError = pdFAIL;

	switch(ioPort) {
		case IOP_COM1:
		case IOP_COM2:
			_retError = uart_io_close(ioPort);
		break;

		default: break;
	}

	return _retError;
}


uint8_t vIO_Write(io_port_t ioPort, const void *pBuf, uint32_t size, io_rw_flag_t flag)
{
	uint8_t _retError = pdFAIL;

	switch(ioPort) {
		case IOP_COM1:
		case IOP_COM2:
			_retError = uart_io_write(ioPort, pBuf, size, flag);
		break;

		default: break;
	}

	return _retError;
}


uint32_t vIO_Read(io_port_t ioPort, void *pBuf, uint32_t size, io_rw_flag_t flag)
{
	uint32_t _recv_count = 0;

	switch(ioPort) {
		case IOP_COM1:
		case IOP_COM2:
			_recv_count = uart_io_read(ioPort, pBuf, size, flag);
		break;

		default: break;
	}

	return _recv_count;
}

